package com.hk.housekeeping.order.dao;

import com.hk.housekeeping.order.entity.Order;

import java.sql.Date;
import java.sql.SQLException;
import java.util.List;

public interface OrderDao {
    //分页查询
    List<Order> getPageList(int currentPage, int pageSize) throws SQLException;

    //查询总条数
    int getTotalCount() throws SQLException;

    //查询单条订单记录
    Order getOrderContent(String sid) throws SQLException;

    //通过支付状态查询对应状态的订单
    List<Order> getStateList(int state, int page, int pageSize) throws SQLException;

    //获取通过支付状态查询对应状态的订单的总条数（用于前端分页）
    int getStateCount(int state) throws SQLException;

    //通过【手机号】和【支付状态】查询对应的订单
    List<Order> getPhoneList(String phone, int state, int page, int pageSize) throws SQLException;

    //获取通过支付状态和手机号查询对应的订单的总条数（用于前端分页）
    int getStateAndPhoneCount(int state, String phone) throws SQLException;

    //通过日期范围进行查询对应页的订单(注意：对应数据库日期的为sql.Date)
    List<Order> getDateList(Date startTime, Date endTime, int page, int pageSize) throws SQLException;

    //查询对应日期范围的订单的总条数
    int getDateCount(Date startTime, Date endTime) throws SQLException;
}
